﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Layout;
using DevExpress.ExpressApp.Model.NodeGenerators;
using DevExpress.ExpressApp.SystemModule;
using DevExpress.ExpressApp.Templates;
using DevExpress.ExpressApp.Utils;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.Validation;

namespace aztall.Module.Controllers
{
	/// <summary>
	/// remove Delete action if nested list has Unlink action
	/// </summary>
	public partial class NestedView_Controller : ViewController<ListView>
	{
		public NestedView_Controller()
		{
			InitializeComponent();
			// Target required Views (via the TargetXXX properties) and create their Actions.
			TargetViewType = ViewType.ListView;
			TargetViewNesting = Nesting.Nested;
		}
		protected override void OnActivated()
		{
			base.OnActivated();
			// Perform various tasks depending on the target View.
			var hasUnlink = (bool)Frame.GetController<DevExpress.ExpressApp.SystemModule.LinkUnlinkController>().UnlinkAction.Active;
			if (hasUnlink) Frame.GetController<DeleteObjectsViewController>().DeleteAction.Active["NestedListView"] = false;
            if (hasUnlink) Frame.GetController<NewObjectViewController>().NewObjectAction.Active["NestedListView"] = false;



        }
        protected override void OnViewControlsCreated()
		{
			base.OnViewControlsCreated();
			// Access and customize the target View control.
		}
		protected override void OnDeactivated()
		{
			// Unsubscribe from previously subscribed events and release other references and resources.
			base.OnDeactivated();
		}
	}
}
